package com.pxst.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pxst.resp.ApiResp;
import com.pxst.sys.req.IsUseReq;
import com.pxst.sys.entity.AuthorityEntity;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

/** 
* @author yangxy
* @version 创建时间：2023年7月27日 下午4:03:29 
*/
public interface AuthorityService extends IService<AuthorityEntity> {

	public ApiResp<AuthorityEntity> getAuthority();

	/**
	 * @Author: @Ryan
	 * @Description: 添加权限
	 * @Date: 2023/9/6 10:03
	 * @Param: [authority]
	 * @return: com.pxst.resp.ApiResp<java.lang.String>
	 **/
	public ApiResp<String> addAuthority(AuthorityEntity authority);

	/**
	 * @Author: @Ryan
	 * @Description: 查询所有权限，返回一个权限列表
	 * @Date: 2023/9/5 16:49
	 * @Param: [mode:查询模式；0查询未启用的，1查询启用的，2查询全部]
	 * @return: com.pxst.resp.ApiResp<java.util.List<com.pxst.sys.entity.AuthorityEntity>>
	 **/
	public ApiResp<List<AuthorityEntity>> getAllAuthority(Integer mode);

	/**
	 * @Author: @Ryan
	 * @Description: 修改权限启用状态
	 * @Date: 2023/9/6 11:28
	 * @Param: [isUseDto:接收到前端传入修改内容]
	 * @return: com.pxst.resp.ApiResp<java.lang.String>
	 **/
	public ApiResp<String> changeIsUse(IsUseReq isUseReq);

	/**
	 * @Author: @Ryan
	 * @Description: 修改权限内容
	 * @Date: 2023/9/6 11:41
	 * @Param: [authority:权限对象]
	 * @return: com.pxst.resp.ApiResp<java.lang.String>
	 **/
	public ApiResp<String> updateAuthority(AuthorityEntity authority);

	/**
	 * -Author: @Ryan
	 * -Description: 根据id删除权限
	 * -Param: [id]
	 * -return: com.pxst.resp.ApiResp<java.lang.String>
	 **/
	public ApiResp<String> deleteAuthority(Long id);

}
